package com.fjw.service.impl;

import com.fjw.mapper.UserMapper;
import com.fjw.pojo.User;
import com.fjw.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 用户业务逻辑实现类
 * 处理用户注册、登录验证、信息更新等核心业务逻辑
 */
@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserMapper userMapper;

    /**
     * 用户注册
     * @param user 用户实体，需包含用户名、密码、角色等必填信息
     */
    @Override
    public void regist(User user) {
        userMapper.regist(user);
    }

    /**
     * 通过用户名查询用户信息（用于登录验证）
     * @param username 用户名（唯一标识）
     * @return 用户实体，若不存在则返回null
     */
    @Override
    public User findByUsername(String username) {
        return userMapper.findByUsername(username);
    }

    /**
     * 通过ID更新用户信息（如个人简介、性别等）
     * @param user 包含更新内容的用户实体，需包含ID字段
     */
    @Override
    public void updateById(User user) {
        System.out.println("更新用户信息：" + user); // 日志输出（可优化为日志框架）
        userMapper.updateById(user);
    }

    /**
     * 通过ID更新用户密码
     * @param id 用户ID
     * @param password 新密码（建议加密后存储）
     */
    @Override
    public void updatePassword(Integer id, String password) {
        userMapper.updatePassword(id, password);
    }
}
